// search模块的小仓库
// 引入API接口函数
import { reqGetSearchInfo } from "@/api";


const state = {
  searchList: {}
};
const mutations = {
  GETSEARCHINFO(state, searchList) {
    state.searchList = searchList
  }
};
const actions = {
  // 获取search模块数据
  // params形参：是当用户派发actions的时候，在第二个参数传递过来的，至少是一个空对象
  async getsearchInfo({ commit }, params) {
    let { data: res } = await reqGetSearchInfo(params)
    if (res.code == 200) {
      commit("GETSEARCHINFO", res.data)
    }
  }
};

// 计算属性
// 项目当中的getters主要的作用是：简化仓库中的数据（简化数据而生）
const getters = {
  // 当前形参state：当前仓库中的state，并非大仓库中的那个state
  goodsList(state) {
    // state.searchList.goodsList如果服务器数据回来了，正常是一个数组
    // 假如网络不给力或者没有网 state.searchList.goodsList应该返回的是undefined
    // 计算新的属性的属性值至少给人家来一个数组
    return state.searchList.goodsList || []
  },
  attrsList(state) {
    return state.searchList.attrsList || []
  },
  trademarkList(state) {
    return state.searchList.trademarkList || []
  }
};

export default {
  state,
  mutations,
  actions,
  getters
}